從 腳本編寫 到 程式設計 在 R 中的轉變,標誌著從執行孤立、互動式的語句,轉向建立自動化且可擴展的流程。這一進化過程涉及將資料組織成穩健的容器,例如 向量、 矩陣、 因子、 陣列、以及 清單 以處理複雜的資訊架構。
1. 程式化的控制流程
不再依賴手動重複,我們使用邏輯區塊來管理複雜性。R 提供了結構化的控制流程機制:
- 迭代:
for (name in expr_1) expr_2、while (condition) expr、以及repeat expr。 - 條件判斷:
if (expr_1) expr_2 else expr_3用於邏輯分支,而向量化函數ifelse則用於逐元素的決策。
# 組合表達式
{ expr_1 ; ... ; expr_m }
{ expr_1 ; ... ; expr_m }
2. 向量化思維與功能映射
在 R 中進行程式設計時,利用功能性的迭代來處理資料結構,無需顯式迴圈。例如 apply、 lapply、 sapply、以及 tapply 可讓您將邏輯套用至陣列或清單上。例如,使用 split 根據一個 因子 將資料框分組後,再套用 mean、 var、或 sqrt(sum(x)) 計算可大幅減少程式碼債務與錯誤。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>